<template>
  <scroll-view>
    <view class="archive-page">
      <view class="archive-tips">最多可添加6人</view>
      <uni-swipe-action>
        <uni-swipe-action-item
          v-for="(patient, index) in patinetList"
          :key="patient.id"
          :right-options="swipeOptions"
        >
          <view :class="{ active: patient.defaultFlag === 1 }" class="archive-card">
            <view class="archive-info">
              <text class="name">{{ patient.name }}</text>
              <text class="id-card">
                {{ patient.idCard.replace(/^(.{6}).+(.{4})$/, "$1********$2") }}
              </text>
              <text v-if="patient.defaultFlag === 1" class="default">默认</text>
            </view>
            <view class="archive-info">
              <text class="gender">{{ patient.genderValue }}</text>
              <text class="age">{{ patient.age }}岁</text>
            </view>
            <navigator
              hover-class="none"
              class="edit-link"
              :url="`/subpkg_archive/form/index?id=${patient.id}`"
            >
              <uni-icons type="icon-edit" size="20" color="#16C2A3" custom-prefix="iconfont" />
            </navigator>
          </view>
        </uni-swipe-action-item>
      </uni-swipe-action>

      <!-- 添加按钮 -->
      <view v-if="patinetList.length < 6" class="archive-card">
        <navigator class="add-link" hover-class="none" url="/subpkg_archive/form/index">
          <uni-icons color="#16C2A3" size="24" type="plusempty" />
          <text class="label">添加患者</text>
        </navigator>
      </view>
    </view>
  </scroll-view>
</template>

<!-- subpkg_archive/list/index.uve -->
<script lang="ts" setup>
import { patientListApi } from "@/apis/patient"
import type { PatientItem } from "@/type/patient"
import { onShow } from "@dcloudio/uni-app"
import { onMounted, ref } from "vue"

// 1. 患者列表
const patinetList = ref<PatientItem[]>([])
// 家庭档案（患者）列表
async function getPatientList() {
  // 患者列表接口
  const data = await patientListApi()

  // 渲染接口数据
  patinetList.value = data
}
onShow(() => {
  getPatientList()
})
const swipeOptions = ref([
  {
    text: "删除",
    style: {
      backgroundColor: "#dd524d",
      color: "",
      fontSize: "",
    },
  },
])
</script>

<style scoped>
/* @import './index.scss'; */
@import "./index.scss";
</style>
